//#include<stdio.h>
//#include<assert.h>
//#include<stdlib.h>
//
//int* fun1(int x)
//{
//	int* a = (int*)malloc(sizeof(int));
//	*a = 1;
//	return a;
//}
//
//int* fun2(int x)
//{
//	int* a = (int*)malloc(sizeof (int));
//	*a = 2;
//	return a;
//}
//
//int* fun3(int x)
//{
//	int* a = (int*)malloc(sizeof(int));
//	*a = 3;
//	return a;
//}
//
//
//int main()
//{
//	int a = 0;
//	int* pa = &a;
//	//int *(*p(int))[3];
//	int* (*p(int))[3] = { &fun1,&fun2,&fun3 };
//	printf("%p", pa);
//	return 0;
//}

//#include<stdio.h>
//int main()
//{
//	int a;
//	int*pa = &a;
//	printf("%p\n", pa);
//	printf("%p\n", pa + 1);
//	printf("%p\n", (float*)pa + 1);
//	printf("%p\n", (double*)pa + 1);
//	printf("%p\n", (long long*)pa + 1);
//	return 0;
//}

//#include<stdio.h>
//
//int main()
//{
//	int a = 0x11111111;
//	void* b = &a;
//	printf("%d\n", a);
//	printf("%c", (char)a);
//	return 0;
//}

#include<stdio.h>
int main()
{
	int a = 10;
	int* pa = &a;
	printf("%d", *pa);
	return 0;
}